$(document).ready(function () {

  // start +++++++++++ 日期选择相关 ++++++++++++

  var DATAPICKERAPI = {
    // 默认input显示当前月,自己获取后填充
    activeMonthRange: function () {
      return {
        begin: moment().set({
          'date': 1,
          'hour': 0,
          'minute': 0,
          'second': 0
        }).format('YYYY-MM-DD HH:mm:ss'),
        end: moment().set({
          'hour': 23,
          'minute': 59,
          'second': 59
        }).format('YYYY-MM-DD HH:mm:ss')
      }
    },
    shortcutMonth: function () {
      // 当月
      var nowDay = moment().get('date');
      var prevMonthFirstDay = moment().subtract(1, 'months').set({
        'date': 1
      });
      var prevMonthDay = moment().diff(prevMonthFirstDay, 'days');
      return {
        now: '-' + nowDay + ',0',
        prev: '-' + prevMonthDay + ',-' + nowDay
      }
    },
    // 近n小时计算返回
    shortcutPrevHours: function (hour) {
      var nowDay = moment().get('date');
      var prevHours = moment().subtract(hour, 'hours');
      var prevDate = prevHours.get('date') - nowDay;
      var nowTime = moment().format('HH:mm:ss');
      var prevTime = prevHours.format('HH:mm:ss');
      return {
        day: prevDate + ',0',
        time: prevTime + ',' + nowTime,
        name: '近' + hour + '小时'
      }
    },
    // 注意为函数：快捷选项option:只能同一个月份内的
    rangeMonthShortcutOption1: function () {
      var result = DATAPICKERAPI.shortcutMonth();
      // 近18小时
      var resultTime = DATAPICKERAPI.shortcutPrevHours(18);
      return [{
        name: '昨天',
        day: '-1,-1',
        time: '00:00:00,23:59:59'
      }, {
        name: '这一月',
        day: result.now,
        time: '00:00:00,'
      }, {
        name: '上一月',
        day: result.prev,
        time: '00:00:00,23:59:59'
      }, {
        name: resultTime.name,
        day: resultTime.day,
        time: resultTime.time
      }];
    },
    // 快捷选项option
    rangeShortcutOption1: [{
      name: '最近一周',
      day: '-7,0'
    }, {
      name: '最近一个月',
      day: '-30,0'
    }, {
      name: '最近三个月',
      day: '-90, 0'
    }],
    singleShortcutOptions1: [{
      name: '今天',
      day: '0',
      time: '00:00:00'
    }, {
      name: '昨天',
      day: '-1',
      time: '00:00:00'
    }, {
      name: '一周前',
      day: '-7'
    }]
  };
  //年月日范围
  $('.J-datepicker-range-day').datePicker({
    hasShortcut: true,
    format: 'YYYY-MM-DD',
    isRange: true,
    shortcutOptions: DATAPICKERAPI.rangeShortcutOption1
  });
  // end +++++++++++ 日期选择相关 ++++++++++++

  // start +++++++++++ 列表相关 ++++++++++++
  // 列表
  $('[role="c-table"]').jqTable({
    fixedLeft: false,
    fixedRight: true
  });

  // 固定多列
  $('[role="c-table1"]').jqTable({
    fixedLeft: 0,
    fixedRight: 1
  });

  // 更新数据距离
  // setTimeout(function () {
  //   var html2 = template('table-tpl2', { data: json2 });
  //   console.log(789789, $('.table-list').eq(0).data('table'));
  //   $('.table-list').eq(0).data('table').updateHtml(html2);
  // }, 3000);
  // end +++++++++++ 列表相关 ++++++++++++

  // start +++++++++++ 分页相关 ++++++++++++
  new Pagination({
    element: '#table_pages', // 渲染的容器  [必填]
    type: 1, // 样式类型，默认1 ，目前可选 [1,2] 可自行增加样式   [非必填]
    layout: 'total, isSize, prev, pager, next, count, jumper', // [必填]
    pageIndex: 1, // 当前页码 [非必填]
    pageSize: 20, // 每页显示条数   TODO: 默认选中sizes [非必填]
    pageCount: 7, // 页码显示数量，页码必须大于等于5的奇数，默认页码7  TODO:为了样式美观，参数只能为奇数， 否则会报错 [非必填]
    total: 1000, // 数据总条数 [必填]
    singlePageHide: false, // 单页隐藏， 默认true  如果为true页码少于一页则不会渲染 [非必填]
    pageSizes: [5, 20, 30, 40, 50], // 选择每页条数  TODO: layout的sizes属性存在才生效
    prevText: '', // 上一页文字，不传默认为箭头图标  [非必填]
    nextText: '', // 下一页文字，不传默认为箭头图标 [非必填]
    ellipsis: true, // 页码显示省略符 默认false  [非必填]
    disabled: true, // 显示禁用手势 默认false  [非必填]
    currentChange: function (index, pageSize) { // 页码改变时回调  TODO:第一个参数是当前页码，第二个参数是每页显示条数数量，需使用sizes第二参数才有值。
      console.log(index, pageSize);
    }
  });
  // end +++++++++++ 分页相关 ++++++++++++
})

// 搜索
function searchBtn() {
  let formData = $('#form-data').serializeArray()
  console.log('formData', formData);
}

// 重置
function resetBtn() {
  let form = document.getElementById('form-data')
  form.reset()
  // 删除日期选择器
  $('.datePicker-x').remove()
}

// 更多展开
function unfoldMore() {
  let formDom = $('#search-form-box')[0]
  let moreIconDom = $('#s-more-icon')[0]
  if (formDom.classList.toString().indexOf('s-df') >= 0) {
    formDom.classList.remove('s-df')
    formDom.classList.add('s-unfold')
    moreIconDom.classList.add('up')
  } else {
    formDom.classList.add('s-df')
    formDom.classList.remove('s-unfold')
    moreIconDom.classList.remove('up')
  }
}
